jQuery(function($){

    var categoria = $("#categoria");
    
    if( categoria.length>0 ) {
        
        if( categoria.attr("data-tipo")=="visualizar" ){
            $.ajax({
              url: '../Ajax?tipo=categoria&acao=listar',
              type: 'POST',
              data: '',
              success: function (data) {
                var toMSG = '';
                $.each(JSON.parse(data), function(index, item){
                    toMSG += '<tr data-id="'+item.id+'">';
                    toMSG += '  <td>'+item.nome+'</td>';
                    toMSG += '  <td>'+item.qtd+'</td>';
                    toMSG += '  <td>';
                    toMSG += '    <a class="table-remover" data-id="'+item.id+'" href="#remover-categoria" title="Remover">remover</a>';
                    toMSG += '    <a class="table-editar" data-id="'+item.id+'" href="./categoria-editar.jsp?cat_id='+item.id+'" title="Editar">Editar</a>';
                    toMSG += '  </td>';
                    toMSG += '</tr>';
                });
                $("tbody").html(toMSG);
              }
            });
        } //end visualizar
        else if( categoria.attr("data-tipo")=="editar" ){            
            var url = URLToArray(window.location.href),
                areaEditar = $(".extra");
            areaEditar.hide();
            
            $.when( $.ajax({
              url: '../Ajax?tipo=categoria&acao=listar',
              type: 'POST',
              data: '',
              success: function (data) {
                var toMSG = '';
                $.each(JSON.parse(data), function(index, item){
                    toMSG += '<option value="'+item.id+'">'+item.nome+'</option>';
                });
                $("#form-categoria-busca select").append(toMSG);
              }
            }) ).done(function(){                
                if( url.cat_id ) {
                    $("#form-categoria-busca select").val( url.cat_id ).trigger('change');
                }                
            }); //end when            
        } //end editar
    }
    



// Remover Categoria
$('body').delegate('a[href=#remover-categoria], .deletar', 'click', function(event) {
    event.preventDefault();
    $("#dialog-remover").attr({
       "data-id": $(this).attr('data-id'),
       "data-tipo": "categoria"
    }).dialog('open');
});


// Editar Categoria (Select change)
$('#form-categoria-busca').delegate('select', 'change', function(event) {
    event.preventDefault();
    var areaEditar = $(".extra"),
        obj = $(this);
        obj = $("option:selected", obj);
    
    if( obj.val()>0 && obj.val()!="" ) {
        areaEditar.find('.deletar').attr("data-id",obj.val());
        areaEditar.find('input[name=id]').val(obj.val());
        areaEditar.find('input[name=nome]').val(obj.text());
        areaEditar.show();
    }
    
});

    
// Cadastro Categoria
$("#form-categoria-cadastro").validate({
  rules: {
    nome:     { required: true, minlength: 3 }
  },
  messages: {
    nome: {
      required: 'Insira um Nome',
      minlength: jQuery.format("Nome com no minimo {0} caracteres")
    }
  },
  errorPlacement: function(error, element) {
  },
  submitHandler: function(form) {
      var form3 = $(form).serializeArray();

      $.ajax({
        url: '../Ajax?tipo=categoria&acao=cadastro',
        type: 'POST',
        data: form3,
        success: function (data) {
            console.log(data);
            if( data=="true" ) {
                $(form).trigger("reset");
                $("#dialog-alert")
                        .dialog("open")
                        .html("Cadastro efetuado com sucesso.");
                $(form).find('.valid').removeClass('valid');
            } else {
                $("#dialog-alert")
                        .dialog("open")
                        .html("Houve um erro ao fazer o cadastro.");
            }
        },
      });
  }
  // success: function(label) {label.remove()}
}); //End Cadastro Cliente



// Editar Categoria
$("#form-categoria-editar").validate({
  rules: {
    nome:     { required: true, minlength: 3 }
  },
  messages: {
    nome: {
      required: 'Insira um Nome',
      minlength: jQuery.format("Nome com no minimo {0} caracteres")
    }
  },
  errorPlacement: function(error, element) {
  },
  submitHandler: function(form) {
      var form3 = $(form).serializeArray();

      $.ajax({
        url: '../Ajax?tipo=categoria&acao=editar',
        type: 'POST',
        data: form3,
        success: function (data) {
            console.log(data);
            if( data=="true" ) {
                $(form).trigger("reset");
                $("#dialog-alert")
                        .dialog("open")
                        .html("Categoria alterada com sucesso.");
                $(form).find('.valid').removeClass('valid');
            } else {
                $("#dialog-alert")
                        .dialog("open")
                        .html("Houve um erro ao fazer a alteracao.");
            }
        },
      });
  }
  // success: function(label) {label.remove()}
}); //End Cadastro Cliente

});